home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.plaf.basic;
-
- import com.sun.java.swing.SwingUtilities;
- import com.sun.java.swing.preview.filechooser.FileSystemView;
- import java.io.File;
- import java.util.Vector;
-
- class BasicDirectoryModel$LoadFilesThread extends Thread {
- // $FF: synthetic field
- BasicDirectoryModel this$0;
- File currentDirectory;
-
- // $FF: synthetic method
- public BasicDirectoryModel$LoadFilesThread(BasicDirectoryModel this$0, File currentDirectory) {
- super("Basic L&F File Loading Thread");
- this.this$0 = this$0;
- this.currentDirectory = null;
- this.currentDirectory = currentDirectory;
- }
-
- public void run() {
- Vector runnables = new Vector(10);
- FileSystemView fileSystem = BasicDirectoryModel.access$filechooser(this.this$0).getFileSystemView();
- File[] list = fileSystem.getFiles(this.currentDirectory, BasicDirectoryModel.access$filechooser(this.this$0).isFileHidingEnabled());
- Vector acceptsList = new Vector();
-
- for(int i = 0; i < list.length; ++i) {
- if (BasicDirectoryModel.access$filechooser(this.this$0).accept(list[i])) {
- acceptsList.addElement(list[i]);
- }
- }
-
- this.this$0.sort(acceptsList);
- Vector directories = new Vector(10);
- Vector files = new Vector();
-
- for(int i = 0; i < acceptsList.size(); ++i) {
- File f = (File)acceptsList.elementAt(i);
- boolean isTraversable = BasicDirectoryModel.access$filechooser(this.this$0).isTraversable(f);
- if (isTraversable) {
- directories.addElement(f);
- } else if (!isTraversable && BasicDirectoryModel.access$filechooser(this.this$0).isFileSelectionEnabled()) {
- files.addElement(f);
- }
-
- if (directories.size() == 10 || i == acceptsList.size() - 1) {
- BasicDirectoryModel.DoChangeContents runnable = new BasicDirectoryModel.DoChangeContents(this.this$0, directories);
- runnables.addElement(runnable);
- SwingUtilities.invokeLater(runnable);
- directories = new Vector(10);
- }
-
- if (((Thread)this).isInterrupted()) {
- this.cancelRunnables(runnables);
- return;
- }
- }
-
- BasicDirectoryModel.DoChangeContents runnable = new BasicDirectoryModel.DoChangeContents(this.this$0, files);
- runnables.addElement(runnable);
- SwingUtilities.invokeLater(runnable);
- if (((Thread)this).isInterrupted()) {
- this.cancelRunnables(runnables);
- }
- }
-
- public void cancelRunnables(Vector runnables) {
- for(int i = 0; i < runnables.size(); ++i) {
- ((BasicDirectoryModel.DoChangeContents)runnables.elementAt(i)).cancel();
- }
-
- }
- }
-